The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
In standard practice end-user documentation is provided together with software suites. The end-user documentation may include writings, diagrams, tutorials, practical examples, and any other documents helpful for an end user to learn the functions and use of given software. Examples include Help panels or search facilities, built-in manuals and the like.
As software suites become more complex, the end-user documentation becomes more complex, yet large portions of the documentation may be irrelevant to a particular user. The documentation provided to an end-user may become unwieldy due to the number of services described. Or, portions may be unnecessary when an end-user only installs a subset of the services offered in a software suite because the end-user is still provided with comprehensive documentation covering services that have not been installed.
As version management becomes complex, the comprehensive documentation approach often ignores or lags behind differences between versions of installed services. If an end-user installs a recent version of a first service, but an older version of a second service, comprehensive documentation would either fail to cover the combination or would be forced to cover every possible combination of services and versions. On the other hand, if documents are identified for only individual services, then the documents would be unable to describe interactions with other provided services.
Thus, there is a need for a system that generates dynamic documentation based on services and/or service versions that have been installed and that a user has permission to access. Additionally, there is a need for a system that includes each piece of information that may be relevant to an end-user while excluding information that corresponds to services that a user has not installed.